iT邦幫忙

DAY 14
3

MS SQL Server新特性探險:探險代碼 Denali系列 第 14

[Denali 新特性探險14]FileTables(2)

  • 分享至 

  • xImage
  •  

上一篇我大概介紹了FileTable 功能和特性,這篇我將示範如何設定並建立FileTable。
由於FileTable是基於FileStream,所以我們必須先設定FileStream。

1.新增 FileGroup And File For FileStream

alter database db1 add filegroup Myfiles contains filestream
alter database db1 add file(name='db1_files',filename='D:\sqlfs\db1_files') to filegroup myfiles

2.確認FileStream是否有啟用

確認FileStream啟用後並執行以下TSQL

EXEC sp_configure filestream_access_level, 2
RECONFIGURE

到這裡我們已經開啟FileStream。
Note:filestream_access_level=2 表示 TSQL和Win32 兩者都可存取。

3.設定資料庫 FileStream 目錄名稱和非交易存取

alter database db1 set filestream(NON_TRANSACTED_ACCESS = full,DIRECTORY_NAME='db1files')

完成FileStream相關設定後,下面我們就可以開始建立FileTable。
建立FileTable

create table filetabletest as filetablewith(filetable_directory='movies',filetable_collate_filename=database_default)


建立成功後,在 SSMS中展開 FileTable節點,便可看到剛剛所建立的FileTable。

確認FileTable 路徑 和 ,FileStream目錄名稱。

select FileTableRootPath('dbo.filetabletest');


FileTable路徑(並非真實路徑)。

select DB_NAME ( database_id ),directory_name
from sys.database_filestream_options;


FileStream 目錄名稱。

瀏覽FileTable目錄。

檔案真正的存放路徑並非目前所顯示的路徑(真實路徑如下圖)。


檔案真實存放路徑 D:\sqlfs\db1_files....。

確認FileTable 和 Windows檔案系統是否同步
使用檔案總管新增檔案

使用 TSQL 查詢 FileTable

select stream_id,name,file_type,creation_time,is_directory,
is_readonly,is_archive,is_system
from dbo.filetabletest


以看到剛剛我們使用檔案總管所新增的檔案,表示兩者是有同步的。

MS SQL Server新特性探險:探險代碼 Denali 全系列文章


上一篇
[Denali 新特性探險13]FileTables(1)
下一篇
[Denali 新特性探險15]FileTables(3)
系列文
MS SQL Server新特性探險:探險代碼 Denali30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言